In-memory databases typically have the following characteristics: (1) most, if not all, data fits into memory, (2) most updates are applied in batch operations, and (3) most updates are appends of new data.
The data may be stored using any technique, such as relational or columnar.
When the update process is interrupted or aborted, the changes made to data in-memory need to be undone to keep the database consistent.
Most database systems use transaction logging, in which each individual update is logged, and, if the transaction is interrupted or aborted, the undo log is applied to roll back each individual change.
Some database systems may utilize a page tracking system (bufferpool) or intercept all updates at the application layer and perform unlog operations.